PARTITION BY
特徴
GROUP BY句のカット機能とORDER BY句の順序付けの機能を併せ持つ
PARTITION BYで区切られた集合をウィンドウ(範囲)と呼ぶ
GROUP BYとの違いは?
GROUP BYは分割後に集約して一行にまとめる
原則SELECT句で使えると考える
RANKなどを算出したあとにwhereで条件を絞ったり、group byで集約するとおかしなことになる
一方、order byはSELECT句より後で実行される(=これ以上レコードの増減がない)ため使える
ROW_NUMBER()の利用しすぎに注意
内部的にはGROUP BYとほぼ同じ処理
/gosyujin-books/0350: SQL Server2016の教科書 開発編.pdf
検証: SQL ServerでPARTITION BYの例文を試してみる
参考
/gosyujin-books/0247: Effective SQL.pdf
/gosyujin-books/0098: sd201001.pdf
/gosyujin-books/0276: SQL 第2版 ゼロからはじめるデータベース操作.pdf
/gosyujin-books/0217: SQL実践入門-──高速でわかりやすいクエリの書き方 00.pdf
/gosyujin-books/0317: プログラマのためのSQL 第4版 すべてを知り尽くしたいあなたに.pdf
/gosyujin-books/0349: SQL Server2016の教科書 開発編.pdf
/gosyujin-books/0041: 達人に学ぶSQL徹底指南書 第2版 初級者で終わりたくないあなたへ.pdf
登り切ったら梯子は捨てろ
/gosyujin-books/0146: 達人に学ぶSQL徹底指南書 第2版 初級者で終わりたくないあなたへ.pdf
/gosyujin-books/0296: 達人に学ぶSQL徹底指南書 第2版 初級者で終わりたくないあなたへ.pdf